package org.proteored.miapeapi.cv.ms;

import org.proteored.miapeapi.cv.Accession;
import org.proteored.miapeapi.cv.ControlVocabularyManager;
import org.proteored.miapeapi.cv.ControlVocabularySet;
import org.proteored.miapeapi.cv.ControlVocabularyTerm;

public class InstrumentModel extends ControlVocabularySet {
	/*
	 * INSTRUMENT_MODEL("MS:1000031", "instrument model"),
	 * AB_SCIEX_TOF_TOF_5800("MS:1001482", "AB SCIEX TOF/TOF 5800"),
	 * A4800_PLUS_MALDI_TOF_TOF_ANALYZER("MS:1000652",
	 * "4800 Plus MALDI TOF-TOF Analyzer"), BIOTOF_II("MS:1000151",
	 * "BioTOF II"), API_3200("MS:1000653", "API 3200"), BIOTOF_Q("MS:1000152",
	 * "BioTOF-Q"), API_5000("MS:1000654", "API 5000"),
	 * QSTAR_ELITE("MS:1000655", "QSTAR Elite"),
	 * AUTO_SPEC_ULTIMA_NT("MS:1000150", "Auto Spec Ultima NT"),
	 * QSTAR_PULSAR("MS:1000656", "QSTAR Pulsar"), A4000_QTRAP("MS:1000870",
	 * "4000 QTRAP"), QSTAR_XL("MS:1000657", "QSTAR XL"),
	 * ESQUIRE_4000("MS:1000156", "esquire 4000"),
	 * A4800_PROTEOMICS_ANALYZER("MS:1000658", "4800 Proteomics Analyzer"),
	 * DELTA_PLUSADVANTAGE("MS:1000153", "DELTA plusAdvantage"),
	 * DELTAPLUSXP("MS:1000154", "DELTAplusXP"), AUTOFLEX_TOF_TOF("MS:1000149",
	 * "autoflex TOF/TOF"), AUTOFLEX_II("MS:1000148", "autoflex II"),
	 * API_4000("MS:1000147", "API 4000"), API_3000("MS:1000146", "API 3000"),
	 * A6110_QUADRUPOLE_LC_MS("MS:1000468", "6110 Quadrupole LC/MS"),
	 * A1200_SERIES_LC_MSD_SL("MS:1000467", "1200 series LC/MSD SL"),
	 * A6120_QUADRUPOLE_LC_MS("MS:1000469", "6120 Quadrupole LC/MS"),
	 * A4700_PROTEOMICS_ANALYZER("MS:1000140", "4700 Proteomics Analyzer"),
	 * APEX_IV("MS:1000141", "apex IV"), APEX_Q("MS:1000142", "apex Q"),
	 * API_150EX("MS:1000143", "API 150EX"), API_150EX_PREP("MS:1000144",
	 * "API 150EX Prep"), API_2000("MS:1000145", "API 2000"),
	 * LTQ_XL("MS:1000854", "LTQ XL"), LTQ_VELOS("MS:1000855", "LTQ Velos"),
	 * A4000_Q_TRAP("MS:1000139", "4000 Q TRAP"), LTQ_VELOS_ETD("MS:1000856",
	 * "LTQ Velos ETD"), A6130_QUADRUPOLE_LC_MS("MS:1000470",
	 * "6130 Quadrupole LC/MS"), A6140_QUADRUPOLE_LC_MS("MS:1000471",
	 * "6140 Quadrupole LC/MS"), A6210_TIME_OF_FLIGHT_LC_MS("MS:1000472",
	 * "6210 Time-of-Flight LC/MS"), A6310_ION_TRAP_LC_MS("MS:1000473",
	 * "6310 Ion Trap LC/MS"), A6320_ION_TRAP_LC_MS("MS:1000474",
	 * "6320 Ion Trap LC/MS"), A6330_ION_TRAP_LC_MS("MS:1000475",
	 * "6330 Ion Trap LC/MS"), TSQ_VANTAGE("MS:1001510", "TSQ Vantage"),
	 * TSQ("MS:1000750", "TSQ"), LTQ_XL_ETD("MS:1000638", "LTQ XL ETD"),
	 * LTQ_ORBITRAP_XL_ETD("MS:1000639", "LTQ Orbitrap XL ETD"),
	 * DSQ("MS:1000634", "DSQ"), ITQ_700("MS:1000635", "ITQ 700"),
	 * ITQ_900("MS:1000636", "ITQ 900"), ITQ_1100("MS:1000637", "ITQ 1100"),
	 * Q_TOF_PREMIER("MS:1000632", "Q-Tof Premier"), SSQ_7000("MS:1000748",
	 * "SSQ 7000"), DFS("MS:1000640", "DFS"), TSQ_7000("MS:1000749",
	 * "TSQ 7000"), WATERS_INSTRUMENT_MODEL("MS:1000126",
	 * "Waters instrument model"), GCT("MS:1000159", "GCT"),
	 * ACQUITY_UPLC_FLR("MS:1000819", "Acquity UPLC FLR"),
	 * ACQUITY_UPLC_PDA("MS:1000818", "Acquity UPLC PDA"), NG_5400("MS:1000180",
	 * "NG-5400"), QUATTRO_UITIMA("MS:1000192", "Quattro UItima"),
	 * QUATTRO_MICRO("MS:1000191", "quattro micro"), MALDI_L("MS:1000170",
	 * "M@LDI L"), Q_TOF_ULTIMA("MS:1000189", "Q-Tof ultima"),
	 * MALDI_LR("MS:1000171", "M@LDI LR"), Q_TOF_MICRO("MS:1000188",
	 * "Q-Tof micro"), ISOPROBE_T("MS:1000166", "IsoProbe T"),
	 * PLATFORM_ICP("MS:1000184", "Platform ICP"), ISOPROBE("MS:1000165",
	 * "IsoProbe"), ISOPRIME("MS:1000164", "IsoPrime"),
	 * THERMO_FINNIGAN_INSTRUMENT_MODEL("MS:1000125",
	 * "Thermo Finnigan instrument model"), LCQ_CLASSIC("MS:1000168",
	 * "LCQ Classic"), LCQ_DECA_XP_PLUS("MS:1000169", "LCQ Deca XP Plus"),
	 * NEPTUNE("MS:1000179", "neptune"), LCQ_FLEET("MS:1000578", "LCQ Fleet"),
	 * TRITON("MS:1000198", "TRITON"), TRACE_DSQ("MS:1000197", "TRACE DSQ"),
	 * GC_QUANTUM("MS:1000558", "GC Quantum"), TSQ_QUANTUM("MS:1000199",
	 * "TSQ Quantum"), LCQ_ADVANTAGE("MS:1000167", "LCQ Advantage"),
	 * POLARISQ("MS:1000185", "PolarisQ"), SURVEYOR_MSQ("MS:1000193",
	 * "Surveyor MSQ"), TEMPUS_TOF("MS:1000196", "TEMPUS TOF"),
	 * LCQ_DECA("MS:1000554", "LCQ Deca"),
	 * SHIMADZU_INSTRUMENT_MODEL("MS:1000124", "Shimadzu instrument model"),
	 * LCMS_IT_TOF("MS:1000604", "LCMS-IT-TOF"),
	 * SHIMADZU_SCIENTIFIC_INSTRUMENTS_INSTRUMENT_MODEL("MS:1000603",
	 * "Shimadzu Scientific Instruments instrument model"),
	 * LCMS_2010A("MS:1000606", "LCMS-2010A"), LCMS_2010EV("MS:1000605",
	 * "LCMS-2010EV"), AXIMA_CONFIDENCE_MALDI_TOF("MS:1000611",
	 * "AXIMA Confidence MALDI-TOF"),
	 * SHIMADZU_BIOTECH_INSTRUMENT_MODEL("MS:1000602",
	 * "Shimadzu Biotech instrument model"),
	 * AXIMA_PERFORMANCE_MALDI_TOF_TOF("MS:1000610",
	 * "AXIMA Performance MALDI-TOF/TOF"),
	 * AXIMA_ASSURANCE_LINEAR_MALDI_TOF("MS:1000612",
	 * "AXIMA Assurance Linear MALDI-TOF"), AXIMA_CFR_PLUS("MS:1000609",
	 * "AXIMA-CFR plus"), AXIMA_QIT("MS:1000608", "AXIMA-QIT"),
	 * AXIMA_CFR_MALDI_TOF("MS:1000607", "AXIMA CFR MALDI-TOF"),
	 * TSQ_QUANTUM_ULTRA_AM("MS:1000743", "TSQ Quantum Ultra AM"),
	 * LTQ_FT("MS:1000448", "LTQ FT"), LTQ("MS:1000447", "LTQ"),
	 * LTQ_ORBITRAP("MS:1000449", "LTQ Orbitrap"), EXACTIVE("MS:1000649",
	 * "Exactive"), ELEMENT_GD("MS:1000647", "Element GD"),
	 * GC_ISOLINK("MS:1000648", "GC IsoLink"),
	 * AB_SCIEX_INSTRUMENT_MODEL("MS:1000121", "AB SCIEX instrument model"),
	 * QSTAR("MS:1000190", "QSTAR"), A3200_QTRAP("MS:1000651", "3200 QTRAP"),
	 * Q_TRAP("MS:1000187", "Q TRAP"), PROTEOMICS_SOLUTION_1("MS:1000186",
	 * "proteomics solution 1"), SYMBIOT_I("MS:1000194", "SymBiot I"),
	 * SYMBIOT_XVI("MS:1000195", "SymBiot XVI"), ELEMENT_XR("MS:1000645",
	 * "Element XR"), BRUKER_DALTONICS_INSTRUMENT_MODEL("MS:1000122",
	 * "Bruker Daltonics instrument model"), AMAZON_ETD("MS:1001542",
	 * "amaZon ETD"), MAXIS("MS:1001541", "maXis"), MICROTOF_II("MS:1001540",
	 * "micrOTOF II"), ESQUIRE_6000("MS:1000157", "esquire 6000"),
	 * HCTULTRA_PTM("MS:1000699", "HCTultra PTM"), HCTULTRA("MS:1000698",
	 * "HCTultra"), BRUKER_DALTONICS_HCT_SERIES("MS:1000697",
	 * "Bruker Daltonics HCT Series"), HCTULTRA_ETD_II("MS:1000700",
	 * "HCTultra ETD II"), HCTPLUS("MS:1000161", "HCTplus"), HCT("MS:1000160",
	 * "HCT"), AUTOFLEX_III_SMARTBEAM("MS:1000696", "autoflex III smartbeam"),
	 * ULTRAFLEX("MS:1000201", "ultraflex"), ULTRAFLEX_TOF_TOF("MS:1000202",
	 * "ultraflex TOF/TOF"), BRUKER_DALTONICS_APEX_SERIES("MS:1001556",
	 * "Bruker Daltonics apex series"), APEX_ULTRA("MS:1000695", "apex ultra"),
	 * BIOTOF_III("MS:1001538", "BioTOF III"), ULTROTOF_Q("MS:1001539",
	 * "UltroTOF-Q"), AUTOFLEX_III_TOF_TOF_SMARTBEAM("MS:1001554",
	 * "autoflex III TOF/TOF smartbeam"),
	 * BRUKER_DALTONICS_MICROTOF_SERIES("MS:1001536",
	 * "Bruker Daltonics micrOTOF series"), MICROTOF_Q("MS:1000703",
	 * "micrOTOF-Q"), MICROTOF("MS:1000702", "micrOTOF"),
	 * MICROTOF_Q_II("MS:1000704", "micrOTOF-Q II"), MICROTOF_LC("MS:1000178",
	 * "microTOF LC"), AUTOFLEX("MS:1001555", "autoflex"), BIOTOF("MS:1001537",
	 * "BioTOF"), BRUKER_DALTONICS_FLEX_SERIES("MS:1001534",
	 * "Bruker Daltonics flex series"), MICROFLEX_LT("MS:1000701",
	 * "microflex LT"), ELEMENT_2("MS:1000646", "Element 2"),
	 * IONSPEC_INSTRUMENT_MODEL("MS:1000123", "IonSpec instrument model"),
	 * OMEGA("MS:1000181", "OMEGA"), EXPLORER("MS:1000158", "explorer"),
	 * HIRES_MALDI("MS:1000163", "HiRes MALDI"), HIRES_ESI("MS:1000162",
	 * "HiRes ESI"), ULTIMA("MS:1000200", "ultima"), OMEGA_2001("MS:1000182",
	 * "OMEGA-2001"), MALDI_LTQ_ORBITRAP("MS:1000643", "MALDI LTQ Orbitrap"),
	 * TSQ_QUANTUM_ACCESS("MS:1000644", "TSQ Quantum Access"),
	 * DSQ_II("MS:1000641", "DSQ II"), MALDI_LTQ_XL("MS:1000642",
	 * "MALDI LTQ XL"), LXQ("MS:1000450", "LXQ"), VOYAGER_DE_PRO("MS:1000203",
	 * "Voyager-DE PRO"), VOYAGER_DE_STR("MS:1000204", "Voyager-DE STR"),
	 * LTQ_FT_ULTRA("MS:1000557", "LTQ FT Ultra"), MICROFLEX_II("MS:1001550",
	 * "microflex II"), AUTOFLEX_II_TOF_TOF("MS:1001553",
	 * "autoflex II TOF/TOF"), ULTRAFLEX_III_TOF_TOF("MS:1000705",
	 * "ultraflex III TOF/TOF"), MICROFLEX_LRF("MS:1001543", "microflex LRF"),
	 * ULTRAFLEXTREME("MS:1001544", "ultrafleXtreme"), OMNIFLEX("MS:1000183",
	 * "OmniFlex"), MICROFLEX("MS:1000177", "microflex"),
	 * LTQ_ORBITRAP_XL("MS:1000556", "LTQ Orbitrap XL"),
	 * BRUKER_DALTONICS_BIOTOF_SERIES("MS:1001535",
	 * "Bruker Daltonics BioTOF series"), LTQ_ORBITRAP_DISCOVERY("MS:1000555",
	 * "LTQ Orbitrap Discovery"), BRUKER_DALTONICS_ESQUIRE_SERIES("MS:1001533",
	 * "Bruker Daltonics esquire series"), SURVEYOR_PDA("MS:1000622",
	 * "Surveyor PDA"), ACCELA_PDA("MS:1000623", "Accela PDA"),
	 * TSQ_QUANTUM_ULTRA("MS:1000751", "TSQ Quantum Ultra"),
	 * MAT253("MS:1000172", "MAT253"), MAT900XP_TRAP("MS:1000174",
	 * "MAT900XP Trap"), MAT900XP("MS:1000173", "MAT900XP"),
	 * MAT95XP_TRAP("MS:1000176", "MAT95XP Trap"), MAT95XP("MS:1000175",
	 * "MAT95XP"), A1200_SERIES_LC_MSD_VL("MS:1000478",
	 * "1200 series LC/MSD VL"), A6340_ION_TRAP_LC_MS("MS:1000476",
	 * "6340 Ion Trap LC/MS"), A6410_TRIPLE_QUADRUPOLE_LC_MS("MS:1000477",
	 * "6410 Triple Quadrupole LC/MS"),
	 * THERMO_FISHER_SCIENTIFIC_INSTRUMENT_MODEL("MS:1000483",
	 * "Thermo Fisher Scientific instrument model"),
	 * THERMO_SCIENTIFIC_INSTRUMENT_MODEL("MS:1000494",
	 * "Thermo Scientific instrument model"),
	 * FINNIGAN_MAT_INSTRUMENT_MODEL("MS:1000493",
	 * "Finnigan MAT instrument model"),
	 * THERMO_ELECTRON_INSTRUMENT_MODEL("MS:1000492",
	 * "Thermo Electron instrument model"),
	 * A6520_QUADRUPOLE_TIME_OF_FLIGHT_LC_MS("MS:1000677",
	 * "6520 Quadrupole Time-of-Flight LC/MS"),
	 * A6510_QUADRUPOLE_TIME_OF_FLIGHT_LC_MS("MS:1000676",
	 * "6510 Quadrupole Time-of-Flight LC/MS"),
	 * A6220_TIME_OF_FLIGHT_LC_MS("MS:1000675", "6220 Time-of-Flight LC/MS"),
	 * HITACHI_INSTRUMENT_MODEL("MS:1000488", "Hitachi instrument model"),
	 * VARIAN_INSTRUMENT_MODEL("MS:1000489", "Varian instrument model"),
	 * APPLIED_BIOSYSTEMS_INSTRUMENT_MODEL("MS:1000495",
	 * "Applied Biosystems instrument model"),
	 * DIONEX_INSTRUMENT_MODEL("MS:1000491", "Dionex instrument model"),
	 * AGILENT_INSTRUMENT_MODEL("MS:1000490", "Agilent instrument model"),
	 * BRUKER_DALTONICS_AMAZON_SERIES("MS:1001545",
	 * "Bruker Daltonics amaZon series"), AMAZON_X("MS:1001546", "amaZon X"),
	 * BRUKER_DALTONICS_MAXIS_SERIES("MS:1001547",
	 * "Bruker Daltonics maXis series"),
	 * BRUKER_DALTONICS_SOLARIX_SERIES("MS:1001548",
	 * "Bruker Daltonics solarix series"), SOLARIX("MS:1001549", "solariX"),
	 * ORBITRAP("MS:1000484", "orbitrap"), AB_SCIEX_TRIPLETOF_5600("MS:1000932",
	 * "AB SCIEX TripleTOF 5600"), AB_SCIEX_QTRAP_5500("MS:1000931",
	 * "AB SCIEX QTRAP 5500");
	 */
	public final static Accession INSTRUMENT_MODEL_CV = new Accession("MS:1000031");

	private static InstrumentModel instance;

	public static InstrumentModel getInstance(ControlVocabularyManager cvManager) {
		if (instance == null)
			instance = new InstrumentModel(cvManager);
		return instance;
	}

	// "MS:1000031" -> instrument model
	private InstrumentModel(ControlVocabularyManager cvManager) {
		super(cvManager);
		String[] parentAccessionsTMP = { INSTRUMENT_MODEL_CV.toString() };
		this.parentAccessions = parentAccessionsTMP;

		this.miapeSection = 200;

	}

	public static ControlVocabularyTerm getInstrumentModelTerm(ControlVocabularyManager cvManager) {
		return InstrumentModel.getInstance(cvManager).getCVTermByAccession(INSTRUMENT_MODEL_CV);
	}
}
